Design of surface features is a frequent task in a wide variety of industrial CAD applications. In the automotive industry, in particular, surface feature design touches almost all major product development activities. Examples include design of head lamps for vehicle styling, structure reinforcement ribs for inner-panel engineering, spark-plug bosses of a cylinder chamber for engine prototyping, and draw-beads on stamping dies for manufacturing.
While the NURBS (Non-Uniform Rational B-Spline) paradigm allows a CAD user to create surface features by manipulating control points, in reality, however, using the control points as the degrees of freedom has two significant limitations. First, a control point is unable to isolate an arbitrary local or global region of influence and second, the basis function of a control point usually does not match the characteristics of the desired feature. Thus, without more sophisticated alternatives, it is difficult to form and maintain arbitrary user-specified features by employing the basic NURBS paradigm.
This has motivated research on a variety of related topics in an attempt to improve the relationship between the degrees of freedom and the features of the surface. A scheme has been developed for adding a smooth affect distribution to an arbitrary region of a propeller surface. See Interactive Adjustment of Surfaces, International Journal of Mechanical Sciences, 20(1), January 1978 and Simplified Method for the Interactive Adjustment of Surfaces, Computer-Aided Design, 12(6), November 1980 both by J. P. Duncan and G. W. Vicker. A similar technique has been developed for describing functional features such as automobile inner panels. Feature-Based Surface Design and Machining, IEEE CG&A, September 1992 by J. C. Cavendish and S. P. Marin and U.S. Pat. No. 5,119,309. Each is effective for the given application, but neither is well-suited to different surfaces in general.
A more general method was developed by one of the inventors of the present invention. Called Direct Surface Manipulation, or DSM, this method allows the specification of a local or global region of influence to be governed by a single control. See Direct Shape Control of Free-Form Curves and Surfaces with Generalized Basis Functions, Ph.D. Dissertation, by P. J. Stewart, University of Michigan, 1991 incorporated herein by reference.
Once a specific region has been isolated on a base parametric surface patch, selected features within the region can be manipulated by adjusting independent, meaningful parameters, each controlling a specific property of the feature, such as its location, boundary shape, height, and boundary continuities with the base surface. In addition, DSM features are based on and defined within the parametric space of the base surface patch. As a result, they are commutative, meaning that the resulting shape of the surface patch is independent of the order in which individual DSM features are applied. Such a property allows the rapid calculation of surface features, thus facilitating real-time model interaction.
Nevertheless, DSM has two major limitations. The first is its inability to describe features which span multiple surface patches. This is so because DSM features are defined within the parametric space of a single surface patch. In production applications, however, complex models are often described by a large number of surface patches and this limitation imposes a significant restriction on the use of DSM technology. The second limitation is that features described within the parametric space of a surface may be distorted when projected to the object space of a surface. This results from spatial inconsistencies between the two spaces. For instance, an equally spaced rectangular grid in parametric space may become a severely distorted mesh in object space. These distortions are inevitably reflected in the shape of the DSM features mapped onto the surface.
In this context a surface is defined as the geometric shape of at least a portion of a three dimensional CAD object. A surface patch is defined as a surface element with an independent reference frame. By parametric space of a surface, or surface UV domain, we mean the two dimensional parametric domain of a surface patch of parametric representation. A point in this space is given in (u,v) Cartesian coordinates. By object space we mean three dimensional modeling space where all surface patches resides. A point in object space is given in (x,y,z) Cartesian coordinates. By DSM feature space we mean two dimensional space where a DSM feature is defined (originated). A point in this space is given in (u.sub.d,v.sub.d) Cartesian coordinates.
Referring to FIGS. 1 and 2, the prior art DSM method creates an entire geometric feature as a single mathematical entity through the use of basis functions. Basis functions govern the characteristics of the feature and mathematically guarantee the continuities between the feature and base surface patch. Conceptually, the creation of a feature can be summarized in the following steps.
1. Create a basis function in one dimension to represent the characteristic profile of a feature (f(t) in FIG. 1). PA1 2. Translate the one dimensional basis function to a function in two dimensions in a DSM feature space that describes the characteristic shape of the feature (g(u.sub.d,v.sub.d) in FIG. 1). PA1 3. Map DSM feature space (i.e. with function g(u.sub.d,v.sub.d)) to the parametric space of the surface (FIGS. 2 (a) (b)). PA1 4. Specify an offset vector that defines the location of an individual surface point lying within the boundary of the mapped basis function (V in FIG. 2(c)). PA1 5. Offset the remainder of the points within the feature boundary parallel to the offset vector and scaled by the value of the basis function evaluated at the corresponding location (FIG. 2(c)).
The DSM method has also been extended to produce surface features with a fillet region. The so-called double bound DSM feature is formed by applying a basis function to bridge the two boundary curves of the feature, thus forming the fillet region. See for example, U.S. Ser. No. 08/550,151 now U.S. Pat. No. 5,731,816 filed Oct. 30, 1995, by the assignee of the present invention.
Applying the basis function requires the establishment of a one-to-one correspondence between the base surface patch and the feature. Current DSM obtains this relationship by mapping points either from the parametric space of the base surface patch into the DSM feature space or from the feature space into the parametric space, depending on how the surface patch or feature is tessellated. Without losing generality, it is assumed that a surface patch is tessellated based on its (u,v) grid regardless of the existence or shape of DSM features. Under this assumption, evaluation of a point Q always starts from its (u,v) location in the base surface patch's parametric space. Thus, if a DSM feature is involved, the necessary relationship between base surface patch and feature is obtained by mapping Q from the parametric space of the patch into the feature space. This process is illustrated in FIG. 2, where a parametric surface patch point location (u,v) is mapped into the DSM feature space and reparametrized as (u.sub.d,v.sub.d). If the (u.sub.d,v.sub.d) location is within the boundary of a DSM feature, the surface patch point must be modified during the formation of the feature and its final location in object space can be found as follows: EQU Q(u,v)=Q.sub.b (u,v)+g(u.sub.d (u,v),v.sub.d (u,v))V (1)
where Q.sub.b represents the portion of Q obtained from the base surface, g is the two dimension basis function described previously, and V is the corresponding control vector of the DSM feature similar to the one shown in FIG. 2.
With the current DSM approach, which is also referred to as parametric DSM, the DSM feature space is directly superimposed on the parametric space of the base surface patch, as shown in FIG. 2. A major benefit of connecting the two spaces in this manner is that point mapping requires only standard coordinate transformations (rotation and translation), and is thereby computationally efficient. However, there are also negative consequences, the most important being that a DSM feature cannot be analytically defined over multiple surface patches and therefore must reside solely on a single patch. A second limitation is that a feature may not be faithfully formed in object space because there is often a spatial disproportion existing between the parametric space where the basis function is formed and object space that the feature is mapped into. For instance, a uniformly spaced grid in the parametric space may not have uniform spacing, or even be parallel, when mapped to object space. For this reason, the final shape of a feature will almost always exhibit some type of distortion.